This vignette gives you an introduction on how to use VoxHunt to swiftly explore the Developing Mouse Brain Atlas ISH data, find brain structure-specific markers and project organoid cells to spatial brain maps.
VoxHunt provides a number of convenient functions to explore the Allen Developing Mouse Brain Atlas data computationally using R. To do so, you first need to point VoxHunt to the ABA gene expression data, which you can download here. Now, we’ll point VoxHunt to the location of these files:
Per default, VoxHunt will not load all of the data at once, but only when we require it.
Now that we have the data, we can start exploring. For instance, you can plot the E13.5 and P14 mouse brain with annotated brain structures:
We can also plot the expression of different genes over these voxel maps:
genes <- c('NEUROD6', 'EOMES', 'DCN', 'DLX1', 'DLX2', 'GBX2', 'OTX2', 'GATA3', 'PAX8')
p <- plot_expression('E15', genes = genes)
print(p)Here we plotted just the sagittal view with a maximum intensity projection for all voxels, sometimes this hides the expression of certain genes. VoxHunt also allows you to define the sections that will be used in the plot:
We can also plot the expression of multiple genes for many coronal sections at the same time:
p <- plot_expression(
'E15',
genes = genes,
view = 'slice',
slices = c(4, 12, 24, 30, 35, 40),
newpage = F
)In addition to plotting well-known canonical markers, we can also perform DE to find specific markers for brain structures we are interested in:
marker_df <- structure_markers('E15', annotation_level = 'custom_4')
hippo_markers <- marker_df %>%
filter(group=='hippocampus') %>%
top_n(2, auc)
p <- plot_expression('E15', genes=hippo_markers$gene, nrow=1)
print(p)Ok, now to the really interesting part: mapping single cells transcriptomes. Projecting single cells to these spatial maps based on several hundred genes can be very informative about cell type composition of the organoid. First, we load an Seurat object. The example case we use here contains 2300 cells from cerebral organoids.
## orig.ident nCount_RNA nFeature_RNA cluster
## cerebral_HC00013 cerebral 3313.979 3030 ctx_cerebral
## cerebral_HC00030 cerebral 3080.682 2422 ctx_cerebral
## cerebral_HC00036 cerebral 3097.781 2295 ctx_cerebral
## cerebral_HC00040 cerebral 3683.972 4453 ctx_cerebral
## cerebral_HC00043 cerebral 2301.335 1389 dien_ex_cerebral
## cerebral_HC00046 cerebral 2912.589 2368 ge_cerebral
Before we start mapping the cells, we’ll do some feature selection to get region specific genes from the ABA:
regional_markers <- structure_markers('E13') %>%
group_by(group) %>%
top_n(10, auc) %>%
{unique(.$gene)}
head(regional_markers)## [1] "OTP" "MEST" "DLK1" "PEG10" "CDH8" "PLXNC1"
Now let’s use these markers to map our single cells to the brain. The group_name parameter refers to a metadata column that groups the data into clusters or cell types.
vox_map <- voxel_map(
example_seurat,
stage = 'E13',
group_name = 'cluster',
genes_use = regional_markers
)
print(vox_map)## A VoxelMap object
## 2300 cells mapped to
## 9510 voxels in the E13 mouse brain
## based on 183 features
The plot_map() function lets us plot this voxel map in a number of different ways. Per default, it will show us a sagittal view of the projection for each of the groups:
However, as we have seen with the expression plots, we can also slice this plot however we want to reveal structures that might be hidden in the sagittal projection. For instance, the highest correlation for the ventral neurons seem to be hidden somewhere inside the brain, so lets look at fewer sagittal sections:
Finally, VoxHunt also allows you to explore similarity maps interactively in 3D with a little help of plotly: